#ifndef _BLOCKBREAKER_GAME_CLIENTLOGIC_H__
#define _BLOCKBREAKER_GAME_CLIENTLOGIC_H__


#include <Game/Include/DistributionLogic.h>

/// \brief implements client-side logic for ordering the events, it just receives the input event from player, 
/// fowards it to the server-side, and then receives all the events in order from the channel and leaves them in the output_queue
class ClientLogic : public DistributionLogic
{
public:
    ClientLogic(Channel* comm_channel, SyncQueue* output_queue);
    virtual ~ClientLogic(void);

    virtual void processGameEvent(GameEvent* game_event);

};

#endif // _BLOCKBREAKER_GAME_CLIENTLOGIC_H__